package com.roomio.core.model;

import java.util.ArrayList;
import java.util.List;

public class OGException extends RuntimeException {

	private List<String> errors = new ArrayList<String>();

	public OGException() {
		super();
	}

	public OGException(String msg, Throwable arg1) {
		super(msg, arg1);
		this.errors.add(msg);
	}

	public OGException(String msg) {
		super(msg);
		this.errors.add(msg);
	}

	public OGException(Throwable caught) {
		super(caught);
		this.errors.add(caught.getMessage());
	}

	public void addErrorMessage(String msg) {
		this.errors.add(msg);
	}

	public List<String> getErrors() {
		return this.errors;
	}

	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append("[");
		int i = 0;
		for (String err : errors) {
			sb.append(err);
			if (i < errors.size() - 1)
				sb.append(",\n");
			i++;
		}
		sb.append("]");
		return sb.toString();
	}

}
